﻿GMarker = function(latlong, opts) {
	/// <summary>
	///	1. GMarker(latlng, opts) - Creates a marker at the latlng with options specified in GMarkerOptions. By default markers are clickable & have the default icon G_DEFAULT_ICON. (Since 2.50).
	///	2. GMarker(latlong, icon, inert) - Creates a marker at the passed latlng of either GPoint or GLatLng with icon or the G_DEFAULT_ICON. If the inert flag is true, then the marker is not clickable and will not fire any events. (Deprecated since 2.50).
	/// </summary>
	/// <returns type="Object"></returns>
	/// <param name="latlong" type="GLatLng" >The Lat/Long of the marker</param>
	/// <param name="opts" type="GMarkerOptions" optional="true">(optional) The options as javascript object literal. Options are:
		/// 1. icon: GIcon - Selects the tab with the given index, starting at 0, instead of the first tab (with index 0).
		///	2. dragCrossMove: Boolean - Maximum width of the info window content, in pixels.
		/// 3. title: String - Indicates whether or not the info window should close for a click on the map that was not on a marker. If set to true, the info window will not close when the map is clicked. The default value is false. (Since 2.83).
		/// 4. clickable: Boolean - Function is called after the info window is opened and the content is displayed.
		/// 5. draggable: Boolean - Function is called when the info window is closed.
		/// 6. bouncy: Boolean - Pertinent for showMapBlowup() only. The zoom level of the blowup map in the info window.
		/// 7. bounceGravity: Number - Pertinent for showMapBlowup() only. The map type of the blowup map in the info window.
		/// 8. autoPan: Boolean - Specifies content to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93).
		/// 9. zIndexProcess: function - Specifies title to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93).
		/// </param>
}

GMarker.prototype = 
{
	openInfoWindow: function(content, opts) 
	{
		/// <summary>
		///	Opens the map info window over the icon of the marker. The content of the info window is given as a DOM node. Only option GInfoWindowOptions.maxWidth is applicable.
		/// </summary>
		/// <param name="content" domElement="true">The contents of the window</param>
		/// <param name="opts" type="GInfoWindowOptions" optional="true">(optional) The options as javascript object literal. Options are:
		/// 1. maxWidth: Number - Maximum width of the info window content, in pixels.
		/// </param>
	},
	
	openInfoWindowHtml: function(content, opts) 
	{
		/// <summary>
		///	Opens the tabbed map info window over the icon of the marker. The content of the info window is given as an array of tabs that contain the tab content as DOM nodes. Only options GInfoWindowOptions.maxWidth and InfoWindowOptions.selectedTab are applicable.
		/// </summary>
		/// <param name="content" type="String">The contents of the window as html text</param>
		/// <param name="opts" type="GInfoWindowOptions" optional="true">(optional) The options as javascript object literal. Options are:
		/// 1. maxWidth: Number - Maximum width of the info window content, in pixels.
		/// 2. selectedTab: Number - Selects the tab with the given index, starting at 0, instead of the first tab (with index 0).
		/// </param>
	},
	
	openInfoWindowTabs: function(tabs, opts)
	{
		/// <summary>
		///	Opens the tabbed map info window over the icon of the marker. The content of the info window is given as an array of tabs that contain the tab content as DOM nodes. Only options GInfoWindowOptions.maxWidth and InfoWindowOptions.selectedTab are applicable.
		/// </summary>
		/// <param name="tabs" type="GInfoWindowTab[]">The tabs</param>
		/// <param name="opts" type="GInfoWindowOptions" optional="true">(optional) The options as javascript object literal. Options are:
		/// 1. maxWidth: Number - Maximum width of the info window content, in pixels.
		/// 2. selectedTab: Number - Selects the tab with the given index, starting at 0, instead of the first tab (with index 0).
		/// </param>
	},
	
	openInfoWindowTabsHtml: function(tabs, opts) 
	{
		/// <summary>
		///	Opens the tabbed map info window over the icon of the marker. The content of the info window is given as an array of tabs that contain the tab content as Strings that contain HTML text. Only options InfoWindowOptions.maxWidth and InfoWindowOptions.selectedTab are applicable.
		/// </summary>
		/// <param name="tabs" type="GInfoWindowTab[]">The tabs</param>
		/// <param name="opts" type="GInfoWindowOptions" optional="true">(optional) The options as javascript object literal. Options are:
		/// 1. maxWidth: Number - Maximum width of the info window content, in pixels.
		/// 2. selectedTab: Number - Selects the tab with the given index, starting at 0, instead of the first tab (with index 0).
		/// </param>
	},
	
	bindInfoWindow: function(content, opts) 
	{
		/// <summary>
		///	Binds the given DOM node to this marker. The content within this node will be automatically displayed in the info window when the marker is clicked. Pass content as null to unbind. (Since 2.85).
		/// </summary>
		/// <param name="content" domElement="true">The contents</param>
		/// <param name="opts" type="GInfoWindowOptions" optional="true">(optional) The options as javascript object literal. Options are:
		/// 1. selectedTab: Number - Selects the tab with the given index, starting at 0, instead of the first tab (with index 0).
		///	2. maxWidth: Number - Maximum width of the info window content, in pixels.
		/// 3. noCloseOnClick: Boolean - Indicates whether or not the info window should close for a click on the map that was not on a marker. If set to true, the info window will not close when the map is clicked. The default value is false. (Since 2.83).
		/// 4. onOpenFn: function - Function is called after the info window is opened and the content is displayed.
		/// 5. onCloseFn: function - Function is called when the info window is closed.
		/// 6. zoomLevel: Number - Pertinent for showMapBlowup() only. The zoom level of the blowup map in the info window.
		/// 7. mapType: GMapType - Pertinent for showMapBlowup() only. The map type of the blowup map in the info window.
		/// 8. maxContent: String - Specifies content to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93).
		/// 9. maxTitle: String - Specifies title to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93).
		/// 10. pixelOffset: GSize - Specifies a number of pixels in the up (x) and right (y) direction to move the infowindow away from the given GLatLng. (Since 2.98).
		/// </param>
	},
	
	bindInfoWindowHtml: function(content, opts)
	{
		/// <summary>
		///	Binds the given HTML to this marker. The HTML content will be automatically displayed in the info window when the marker is clicked. Pass content as null to unbind. (Since 2.85)
		/// </summary>
		/// <param name="content" type="String">The contents as HTML text.</param>
		/// <param name="opts" type="GInfoWindowOptions" optional="true">(optional) The options as javascript object literal. Options are:
		/// 1. selectedTab: Number - Selects the tab with the given index, starting at 0, instead of the first tab (with index 0).
		///	2. maxWidth: Number - Maximum width of the info window content, in pixels.
		/// 3. noCloseOnClick: Boolean - Indicates whether or not the info window should close for a click on the map that was not on a marker. If set to true, the info window will not close when the map is clicked. The default value is false. (Since 2.83).
		/// 4. onOpenFn: function - Function is called after the info window is opened and the content is displayed.
		/// 5. onCloseFn: function - Function is called when the info window is closed.
		/// 6. zoomLevel: Number - Pertinent for showMapBlowup() only. The zoom level of the blowup map in the info window.
		/// 7. mapType: GMapType - Pertinent for showMapBlowup() only. The map type of the blowup map in the info window.
		/// 8. maxContent: String - Specifies content to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93).
		/// 9. maxTitle: String - Specifies title to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93).
		/// 10. pixelOffset: GSize - Specifies a number of pixels in the up (x) and right (y) direction to move the infowindow away from the given GLatLng. (Since 2.98).
		/// </param>
	},
	
	bindInfoWindowTabs: function(tabs, opts) 
	{
		/// <summary>
		///	Binds the given GInfoWindowTabs (provided as DOM nodes) to this marker. The content within these tabs' nodes will be automatically displayed in the info window when the marker is clicked. Pass tabs as null to unbind. (Since 2.85).
		/// </summary>
		/// <param name="tabs" type="GInfoWindowTab[]">The tabs</param>
		/// <param name="opts" type="GInfoWindowOptions" optional="true">(optional) The options as javascript object literal. Options are:
		/// 1. selectedTab: Number - Selects the tab with the given index, starting at 0, instead of the first tab (with index 0).
		///	2. maxWidth: Number - Maximum width of the info window content, in pixels.
		/// 3. noCloseOnClick: Boolean - Indicates whether or not the info window should close for a click on the map that was not on a marker. If set to true, the info window will not close when the map is clicked. The default value is false. (Since 2.83).
		/// 4. onOpenFn: function - Function is called after the info window is opened and the content is displayed.
		/// 5. onCloseFn: function - Function is called when the info window is closed.
		/// 6. zoomLevel: Number - Pertinent for showMapBlowup() only. The zoom level of the blowup map in the info window.
		/// 7. mapType: GMapType - Pertinent for showMapBlowup() only. The map type of the blowup map in the info window.
		/// 8. maxContent: String - Specifies content to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93).
		/// 9. maxTitle: String - Specifies title to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93).
		/// 10. pixelOffset: GSize - Specifies a number of pixels in the up (x) and right (y) direction to move the infowindow away from the given GLatLng. (Since 2.98).
		/// </param>
	},
	
	bindInfoWindowTabsHtml: function(tabs, opts) 
	{
		/// <summary>
		///	Binds the given GInfoWindowTabs (provided as strings of HTML) to this marker. The HTML content within these tabs will be automatically displayed in the info window when the marker is clicked. Pass tabs as null  to unbind. (Since 2.85).
		/// </summary>
		/// <param name="tabs" type="GInfoWindowTab[]">The tabs</param>
		/// <param name="opts" type="GInfoWindowOptions" optional="true">(optional) The options as javascript object literal. Options are:
		/// 1. selectedTab: Number - Selects the tab with the given index, starting at 0, instead of the first tab (with index 0).
		///	2. maxWidth: Number - Maximum width of the info window content, in pixels.
		/// 3. noCloseOnClick: Boolean - Indicates whether or not the info window should close for a click on the map that was not on a marker. If set to true, the info window will not close when the map is clicked. The default value is false. (Since 2.83).
		/// 4. onOpenFn: function - Function is called after the info window is opened and the content is displayed.
		/// 5. onCloseFn: function - Function is called when the info window is closed.
		/// 6. zoomLevel: Number - Pertinent for showMapBlowup() only. The zoom level of the blowup map in the info window.
		/// 7. mapType: GMapType - Pertinent for showMapBlowup() only. The map type of the blowup map in the info window.
		/// 8. maxContent: String - Specifies content to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93).
		/// 9. maxTitle: String - Specifies title to be shown when the infowindow is maximized. The content may be either an HTML String or an HTML DOM element. (Since 2.93).
		/// 10. pixelOffset: GSize - Specifies a number of pixels in the up (x) and right (y) direction to move the infowindow away from the given GLatLng. (Since 2.98).
		/// </param>
	},
	
	closeInfoWindow: function() 
	{
		/// <summary>
		///	Closes the info window only if it belongs to this marker. (Since 2.85).
		/// </summary>
	},
	
	showMapBlowup: function(opts) 
	{
		/// <summary>
		///		Opens the map info window over the icon of the marker. The content of the info window is a closeup map around the marker position. Only options InfoWindowOptions.zoomLevel  and InfoWindowOptions.mapType are applicable.
		/// </summary>
		/// <param name="opts" type="GInfoWindowOptions" optional="true">(optional) The options as javascript object literal. Options are:
		/// 1. zoomLevel: Number - Pertinent for showMapBlowup() only. The zoom level of the blowup map in the info window.
		/// 2. mapType: GMapType - Pertinent for showMapBlowup() only. The map type of the blowup map in the info window.
		/// </param>
	},
	
	getIcon: function() 
	{
		/// <summary>
		///	Returns the icon of this marker, as set by the constructor.
		/// </summary>
		/// <returns type="GIcon"></returns>
	},
	
	getTitle: function() 
	{
		/// <summary>
		///	Returns the title of this marker, as set by the constructor via the GMarkerOptions.title property. Returns undefined if no title is passed in. (Since 2.85)
		/// </summary>
		/// <returns type="String"></returns>
	},
	
	getPoint: function() 
	{
		/// <summary>
		///	Returns the geographical coordinates at which this marker is anchored, as set by the constructor or by setPoint(). (Deprecated since 2.88).
		/// </summary>
		/// <returns type="GLatLng"></returns>
	},
	
	getLatLng: function() 
	{
		/// <summary>
		///	Returns the geographical coordinates at which this marker is anchored, as set by the constructor or by setLatLng(). (Since 2.88).
		/// </summary>
		/// <returns type="GLatLng"></returns>
	},
	
	setPoint: function(latlng) 
	{
		/// <summary>
		///	Sets the geographical coordinates of the point at which this marker is anchored. (Deprecated since 2.88).
		/// </summary>
		/// <param name="latlng" type="GLatLng">The Lat/Long to set.</param>
	},
	
	setLatLng: function(latlng) 
	{
		/// <summary>
		///	Sets the geographical coordinates of the point at which this marker is anchored. (Since 2.88).
		/// </summary>
		/// <param name="latlng" type="GLatLng">The Lat/Long to set.</param>
	},
	
	enableDragging: function() 
	{
		/// <summary>
		///	Enables the marker to be dragged and dropped around the map. To function, the marker must have been initialized with GMarkerOptions.draggable = true.
		/// </summary>
	},
	
	disableDragging: function() 
	{
		/// <summary>
		///	Disables the marker from being dragged and dropped around the map.
		/// </summary>
	},
	
	draggable: function() 
	{
		/// <summary>
		///	Returns true if the marker has been initialized via the constructor using GMarkerOptions.draggable = true. Otherwise, returns false.
		/// </summary>
		/// <returns type="Boolean"></returns>
	},
	
	draggingEnabled: function() 
	{
		/// <summary>
		///	Returns true if the marker is currently enabled for the user to drag on the map.
		/// </summary>
		/// <returns type="Boolean"></returns>
	},
	
	setImage: function(url) 
	{
		/// <summary>
		///	Requests the image specified by the url to be set as the foreground image for this marker. Note that neither the print image nor the shadow image are adjusted. Therefore this method is primarily intended to implement highlighting or dimming effects, rather than drastic changes in marker's appearances. (Since 2.75).
		/// </summary>
		/// <param name="url" type="String">The url of the image.</param>
	},
	
	hide: function() 
	{
		/// <summary>
		///	Hides the marker if it is currently visible. Note that this function triggers the event GMarker.visibilitychanged in case the marker is currently visible. (Since 2.77).
		/// </summary>
	},
	
	show: function() 
	{
		/// <summary>
		///	Shows the marker if it is currently hidden. Note that this function triggers the event GMarker.visibilitychanged in case the marker is currently hidden. (Since 2.77).
		/// </summary>
	},
	
	isHidden: function() 
	{
		/// <summary>
		///	Returns true if the marker is currently hidden. Otherwise returns false. (Since 2.77)
		/// </summary>
	}
}
